1. Field of the Invention
The invention generally relates to a new and improved method and an electronic function generating apparatus for converting a digital input into an analog output signal, and finds particular use when the function relating the digital input to the analog output is non-linear.
2. Description of the Prior Art
Function generators for generating analog output signals as a function of digital inputs are widely used in the computer, automatic control, simulation and instrumentation arts, as well as in many other applications. For example, function generators are used in analog computers in many circumstances in which complicated potentiometer circuits have been used in the past. Function generators are used as they are simpler to adjust than the potentiometer circuits, and they generate a more readily reproducible analog output from a digital input, whereas in the potentiometer circuits the analog output signals, which are the result of manual adjustments, are not so readily reproducible.
Function generators often are required to generate an analog output signal that is related to a digital input by an arbitrary set of values. In some circumstances, the relation between the digital input, which normally is in the form of a digital word which comprises a plurality of bits, or binary digits, and which has a numerical value based on the coding of the bits, and the value of the analog output signal, which may be represented by a voltage, may be linear. For example, if the desired relationship between the analog output signal and the digital input is such that when the value of the digital input doubles, triples, and so forth, the voltage of the analog output signal doubles, triples, or follows accordingly, the desired relationship is linear. In this case, the function generator may comprise a digital to analog converter and the input may be constituted by digital words that cause the converter to generate the desired analog output signal.
In many instances, however, the relationship between the values of the digital input and the analog output signal, that is, the function to be generated by the function generator, is not linear, but instead is quite complicated. For example, a function generator may be required to follow the calibration curve of a physical device, such as a voltage-to-frequency curve of a voltage controlled oscillator or the resistance-to-temperature curve of a resistor whose resistance varies with temperature. In neither of these is the relationship linear. In such circumstances, a digital to analog converter alone normally cannot generate the desired output function, as the output of such a converter is usually a linear function of the input.
To solve the problem of forcing the function generator to match a non-linear function, an addressable memory can be connected between the digital input and the digital to analog converter. The memory stores, in addressable storage locations, digital words that cause the digital to analog converter to generate the desired analog output signal. The digital input is used to address the memory rather than as the input of the digital to analog converter. The digital word stored in the addressed location is then coupled to the input to the digital to analog converter, which generates an analog output signal based on the value of the digital word. The non-linearity of the function is effectively handled by the memory. However, if the non-linearity is severe, the number of memory words required in the memory may be quite large, which can increase the cost of the function generator. Furthermore, the number of digital bits in each word supplied by the memory to the digital to analog converter, which is a function of the "dynamic range" required of the digital to analog converter to generate the required function, can be considerably increased over the linear case.
Both of these factors, the increased number of digital words required to be stored in the memory and the number of digital bits required to be stored in each digital word can increase the cost of the memory used in the function generator. These factors also increase the cost of the digital to analog converter, which must be able to simultaneously accommodate all of the bits in each word which is required to enable the converter to accommodate the required range of analog output signals.